﻿using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using FluentValidation.Attributes;
using Nop.Admin.Validators.Logistics;
using Nop.Web.Framework;
using Nop.Web.Framework.Localization;
using Nop.Web.Framework.Mvc;

namespace Nop.Admin.Models.Logistics
{
    [Validator(typeof(LogisticsPackageNoteTemplateValidator))]
    public partial class LogisticsPackageNoteTemplateModel : BaseNopEntityModel, ILocalizedModel<LogisticsPackageNoteTemplateLocalizedModel> 
    {
        public LogisticsPackageNoteTemplateModel()
        {
            Locales = new List<LogisticsPackageNoteTemplateLocalizedModel>();
        }

        [NopResourceDisplayName("Admin.Logistics.PackageNoteTemplate.SystemName")]
        [AllowHtml]
        public string SystemName { get; set; }

        [NopResourceDisplayName("Admin.Logistics.PackageNoteTemplate.Content")]
        [AllowHtml]
        public string Content { get; set; }

        [NopResourceDisplayName("Admin.Logistics.PackageNoteTemplate.Published")]
        public bool Published { get; set; }

        [NopResourceDisplayName("Admin.Logistics.PackageNoteTemplate.ReferenceId")]
        public int? ReferenceId { get; set; }

        [NopResourceDisplayName("Admin.Logistics.PackageNoteTemplate.DisplayOrder")]
        public int DisplayOrder { get; set; }

        public IList<LogisticsPackageNoteTemplateLocalizedModel> Locales { get; set; }
    }

    public partial class LogisticsPackageNoteTemplateLocalizedModel : ILocalizedModelLocal
    {
        public int LanguageId { get; set; }

        [NopResourceDisplayName("Admin.Logistics.PackageNoteTemplate.Content")]
        [AllowHtml]
        public string Content { get; set; }
    }
}